console.log('anime.js now is loading...');
var $jscomp$this = this;
(function(v, p) {
	console.log('anime.js now is loading...');
    v = v || window;
    "function" === typeof define && define.amd ? define([], p) : "object" === typeof module && module.exports ?
        module.exports = p() : v.anime = p()
})(this, function() {
    function v(a) {
        if (!g.col(a))
            try {
                return document.querySelectorAll(a)
            } catch (b) {}
    }

    function p(a) {
        return a.reduce(function(a, d) {
            return a.concat(g.arr(d) ? p(d) : d)
        }, [])
    }

    function w(a) {
        if (g.arr(a))
            return a;
        g.str(a) && (a = v(a) || a);
        return a instanceof NodeList || a instanceof HTMLCollection ? [].slice.call(a) : [a]
    }

    function F(a, b) {
        return a.some(function(a) {
            return a === b
        })
    }

    function A(a) {
        var b = {},
            d;
        for (d in a)
            b[d] = a[d];
        return b
    }

    function G(a, b) {
        var d = A(a),
            c;
        for (c in a)
            d[c] = b.hasOwnProperty(c) ? b[c] : a[c];
        return d
    }

    function B(a, b) {
        var d = A(a),
            c;
        for (c in b)
            d[c] = g.und(a[c]) ? b[c] : a[c];
        return d
    }

    function S(a) {
        a = a.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, function(a, b, d, h) {
            return b + b + d + d + h + h
        });
        var b = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(a);
        a = parseInt(b[1], 16);
        var d = parseInt(b[2], 16),
            b = parseInt(b[3], 16);
        return "rgb(" + a + "," + d + "," + b + ")"
    }

    function T(a) {
        function b(a, b, c) {
            0 > c && (c += 1);
            1 < c && --c;
            return c < 1 / 6 ? a + 6 * (b - a) * c : .5 > c ? b : c < 2 / 3 ? a + (b - a) * (2 / 3 - c) * 6 : a
        }
        var d = /hsl\((\d+),\s*([\d.]+)%,\s*([\d.]+)%\)/g.exec(a);
        a = parseInt(d[1]) / 360;
        var c = parseInt(d[2]) / 100,
            d = parseInt(d[3]) / 100;
        if (0 == c)
            c = d = a = d;
        else {
            var e = .5 > d ? d * (1 + c) : d + c - d * c,
                l = 2 * d - e,
                c = b(l, e, a + 1 / 3),
                d = b(l, e, a);
            a = b(l, e, a - 1 / 3)
        }
        return "rgb(" + 255 * c + "," + 255 * d + "," + 255 * a + ")"
    }

    function x(a) {
        if (a = /([\+\-]?[0-9#\.]+)(%|px|pt|em|rem|in|cm|mm|ex|pc|vw|vh|deg|rad|turn)?/.exec(a))
            return a[2]
    }

    function U(a) {
        if (-1 < a.indexOf("translate"))
            return "px";
        if (-1 < a.indexOf("rotate") || -1 < a.indexOf("skew"))
            return "deg"
    }

    function H(a, b) {
        return g.fnc(a) ? a(b.target, b.id, b.total) : a
    }

    function C(a, b) {
        if (b in a.style)
            return getComputedStyle(a).getPropertyValue(b.replace(/([a-z])([A-Z])/g, "$1-$2").toLowerCase()) || "0"
    }

    function I(a, b) {
        if (g.dom(a) && F(V, b))
            return "transform";
        if (g.dom(a) && (a.getAttribute(b) || g.svg(a) && a[b]))
            return "attribute";
        if (g.dom(a) && "transform" !== b && C(a, b))
            return "css";
        if (null != a[b])
            return "object"
    }

    function W(a, b) {
        var d = U(b),
            d = -1 < b.indexOf("scale") ? 1 : 0 + d;
        a = a.style.transform;
        if (!a)
            return d;
        for (var c = [], e = [], l = [], h = /(\w+)\((.+?)\)/g; c = h.exec(a);)
            e.push(c[1]),
            l.push(c[2]);
        a = l.filter(function(a, c) {
            return e[c] === b
        });
        return a.length ? a[0] : d
    }

    function J(a, b) {
        switch (I(a, b)) {
            case "transform":
                return W(a, b);
            case "css":
                return C(a, b);
            case "attribute":
                return a.getAttribute(b)
        }
        return a[b] || 0
    }

    function K(a, b) {
        var d = /^(\*=|\+=|-=)/.exec(a);
        if (!d)
            return a;
        b = parseFloat(b);
        a = parseFloat(a.replace(d[0], ""));
        switch (d[0][0]) {
            case "+":
                return b + a;
            case "-":
                return b - a;
            case "*":
                return b * a
        }
    }

    function D(a) {
        return g.obj(a) && a.hasOwnProperty("totalLength")
    }

    function X(a, b) {
        function d(c) {
            c = void 0 === c ? 0 : c;
            return a.el.getPointAtLength(1 <= b + c ? b + c : 0)
        }
        var c = d(),
            e = d(-1),
            l = d(1);
        switch (a.property) {
            case "x":
                return c.x;
            case "y":
                return c.y;
            case "angle":
                return 180 * Math.atan2(l.y - e.y, l.x - e.x) / Math.PI
        }
    }

    function L(a, b) {
        var d = /-?\d*\.?\d+/g;
        a = D(a) ? a.totalLength : a;
        if (g.col(a))
            b = g.rgb(a) ? a : g.hex(a) ? S(a) : g.hsl(a) ? T(a) : void 0;
        else {
            var c = x(a);
            a = c ? a.substr(0, a.length - c.length) : a;
            b = b ? a + b : a
        }
        b += "";
        return {
            original: b,
            numbers: b.match(d) ? b.match(d).map(Number) : [0],
            strings: b.split(d)
        }
    }

    function Y(a, b) {
        return b.reduce(function(b, c, e) {
            return b + a[e - 1] + c
        })
    }

    function M(a) {
        return (a ? p(g.arr(a) ? a.map(w) : w(a)) : []).filter(function(a, d, c) {
            return c.indexOf(a) === d
        })
    }

    function Z(a) {
        var b = M(a);
        return b.map(function(a, c) {
            return {
                target: a,
                id: c,
                total: b.length
            }
        })
    }

    function aa(a, b) {
        var d = A(b);
        if (g.arr(a)) {
            var c = a.length;
            2 !== c || g.obj(a[0]) ? g.fnc(b.duration) || (d.duration = b.duration / c) : a = {
                value: a
            }
        }
        return w(a).map(function(a, c) {
            c = c ? 0 : b.delay;
            a = g.obj(a) && !D(a) ? a : {
                value: a
            };
            g.und(a.delay) && (a.delay = c);
            return a
        }).map(function(a) {
            return B(a, d)
        })
    }

    function ba(a, b) {
        var d = {},
            c;
        for (c in a) {
            var e = H(a[c], b);
            g.arr(e) && (e = e.map(function(a) {
                    return H(a, b)
                }),
                1 === e.length && (e = e[0]));
            d[c] = e
        }
        d.duration = parseFloat(d.duration);
        d.delay = parseFloat(d.delay);
        return d
    }

    function ca(a) {
        return g.arr(a) ? y.apply(this, a) : N[a]
    }

    function da(a, b) {
        var d;
        return a.tweens.map(function(c) {
            c = ba(c, b);
            var e = c.value,
                l = J(b.target, a.name),
                h = d ? d.to.original : l,
                h = g.arr(e) ? e[0] : h,
                m = K(g.arr(e) ? e[1] : e, h),
                l = x(m) || x(h) || x(l);
            c.isPath = D(e);
            c.from = L(h, l);
            c.to = L(m, l);
            c.start = d ? d.end : a.offset;
            c.end = c.start + c.delay + c.duration;
            c.easing = ca(c.easing);
            c.elasticity = (1E3 - Math.min(Math.max(c.elasticity, 1), 999)) / 1E3;
            g.col(c.from.original) && (c.round = 1);
            return d = c
        })
    }

    function ea(a, b) {
        return p(a.map(function(a) {
            return b.map(function(b) {
                var c = I(a.target, b.name);
                if (c) {
                    var d = da(b, a);
                    b = {
                        type: c,
                        property: b.name,
                        animatable: a,

                        tweens: d,
                        duration: d[d.length - 1].end,
                        delay: d[0].delay
                    }
                } else
                    b = void 0;
                return b
            })
        })).filter(function(a) {
            return !g.und(a)
        })
    }

    function O(a, b, d) {
        var c = "delay" === a ? Math.min : Math.max;
        return b.length ? c.apply(Math, b.map(function(b) {
            return b[a]
        })) : d[a]
    }

    function fa(a) {
        var b = G(ga, a),
            d = G(ha, a),
            c = Z(a.targets),
            e = [],
            g = B(b, d),
            h;
        for (h in a)
            g.hasOwnProperty(h) || "targets" === h || e.push({
                name: h,
                offset: g.offset,
                tweens: aa(a[h], d)
            });
        a = ea(c, e);
        return B(b, {
            children: [],
            animatables: c,
            animations: a,
            duration: O("duration", a, d),
            delay: O("delay", a, d)
        })
    }

    function n(a) {
        function b() {
            return window.Promise && new Promise(function(a) {
                return Q = a
            })
        }

        function d(a) {
            return f.reversed ? f.duration - a : a
        }

        function c(a) {
            for (var b = 0, c = {}, d = f.animations, e = {}; b < d.length;) {
                var g = d[b],
                    h = g.animatable,
                    m = g.tweens;
                e.tween = m.filter(function(b) {
                    return a < b.end
                })[0] || m[m.length - 1];
                e.isPath$1 = e.tween.isPath;
                e.round = e.tween.round;
                e.eased = e.tween.easing(Math.min(Math.max(a - e.tween.start - e.tween.delay, 0), e.tween
                    .duration) / e.tween.duration, e.tween.elasticity);
                m = Y(e.tween.to.numbers.map(function(a) {
                    return function(b, c) {
                        c = a.isPath$1 ? 0 : a.tween.from.numbers[c];
                        b = c + a.eased * (b - c);
                        a.isPath$1 && (b = X(a.tween.value, b));
                        a.round && (b = Math.round(b * a.round) / a.round);
                        return b
                    }
                }(e)), e.tween.to.strings);
                ia[g.type](h.target, g.property, m, c, h.id);
                g.currentValue = m;
                b++;
                e = {
                    isPath$1: e.isPath$1,
                    tween: e.tween,
                    eased: e.eased,
                    round: e.round
                }
            }
            if (c)
                for (var k in c)
                    E || (E = C(document.body, "transform") ? "transform" : "-webkit-transform"),
                    f.animatables[k].target.style[E] = c[k].join(" ");
            f.currentTime = a;
            f.progress = a / f.duration * 100
        }

        function e(a) {
            if (f[a])
                f[a](f)
        }

        function g() {
            f.remaining && !0 !== f.remaining && f.remaining--
        }

        function h(a) {
            var h = f.duration,
                l = f.offset,
                n = f.delay,
                P = f.currentTime,
                q = f.reversed,
                r = d(a),
                r = Math.min(Math.max(r, 0), h);
            if (f.children) {
                var p = f.children;
                if (r >= f.currentTime)
                    for (var u = 0; u < p.length; u++)
                        p[u].seek(r);
                else
                    for (u = p.length; u--;)
                        p[u].seek(r)
            }
            r > l && r < h ? (c(r), !f.began && r >= n && (f.began = !0,
                    e("begin")),
                e("run")) : (r <= l && 0 !== P && (c(0),
                    q && g()),
                r >= h && P !== h && (c(h),
                    q || g()));
            a >= h && (f.remaining ? (t = m,
                    "alternate" === f.direction && (f.reversed = !f.reversed)) : (f.pause(),
                    "Promise" in window && (Q(),
                        R = b()),
                    f.completed || (f.completed = !0,
                        e("complete"))),
                k = 0);
            e("update")
        }
        a = void 0 === a ? {} : a;
        var m, t, k = 0,
            Q = null,
            R = b(),
            f = fa(a);
        f.reset = function() {
            var a = f.direction,
                b = f.loop;
            f.currentTime = 0;
            f.progress = 0;
            f.paused = !0;
            f.began = !1;
            f.completed = !1;
            f.reversed = "reverse" === a;
            f.remaining = "alternate" === a && 1 === b ? 2 : b;
            for (a = f.children.length; a--;)
                b = f.children[a],
                b.seek(b.offset),
                b.reset()
        };
        f.tick = function(a) {
            m = a;
            t || (t = m);
            h((k + m - t) * n.speed)
        };
        f.seek = function(a) {
            h(d(a))
        };
        f.pause = function() {
            var a = q.indexOf(f); -
            1 < a && q.splice(a, 1);
            f.paused = !0
        };
        f.play = function() {
            f.paused && (f.paused = !1,
                t = 0,
                k = d(f.currentTime),
                q.push(f),
                z || ja())
        };
        f.reverse = function() {
            f.reversed = !f.reversed;
            t = 0;
            k = d(f.currentTime)
        };
        f.restart = function() {
            f.pause();
            f.reset();
            f.play()
        };
        f.finished = R;
        f.reset();
        f.autoplay && f.play();
        return f
    }
    var ga = {
            update: void 0,
            begin: void 0,
            run: void 0,
            complete: void 0,
            loop: 1,
            direction: "normal",
            autoplay: !0,
            offset: 0
        },
        ha = {
            duration: 1E3,
            delay: 0,
            easing: "easeOutElastic",
            elasticity: 500,
            round: 0
        },
        V = "translateX translateY translateZ rotate rotateX rotateY rotateZ scale scaleX scaleY scaleZ skewX skewY"
        .split(" "),
        E, g = {
            arr: function(a) {
                return Array.isArray(a)
            },
            obj: function(a) {
                return -1 < Object.prototype.toString.call(a).indexOf("Object")
            },
            svg: function(a) {
                return a instanceof SVGElement
            },
            dom: function(a) {
                return a.nodeType || g.svg(a)
            },
            str: function(a) {
                return "string" === typeof a
            },
            fnc: function(a) {
                return "function" === typeof a
            },
            und: function(a) {
                return "undefined" === typeof a
            },
            hex: function(a) {
                return /(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(a)
            },
            rgb: function(a) {
                return /^rgb/.test(a)
            },
            hsl: function(a) {
                return /^hsl/.test(a)
            },
            col: function(a) {
                return g.hex(a) || g.rgb(a) || g.hsl(a)
            }
        },
        y = function() {
            function a(a, d, c) {
                return (((1 - 3 * c + 3 * d) * a + (3 * c - 6 * d)) * a + 3 * d) * a
            }
            return function(b, d, c, e) {
                if (0 <= b && 1 >= b && 0 <= c && 1 >= c) {
                    var g = new Float32Array(11);
                    if (b !== d || c !== e)
                        for (var h = 0; 11 > h; ++h)
                            g[h] = a(.1 * h, b, c);
                    return function(h) {
                        if (b === d && c === e)
                            return h;
                        if (0 === h)
                            return 0;
                        if (1 === h)
                            return 1;
                        for (var m = 0, k = 1; 10 !== k && g[k] <= h; ++k)
                            m += .1;
                        --k;
                        var k = m + (h - g[k]) / (g[k + 1] - g[k]) * .1,
                            l = 3 * (1 - 3 * c + 3 * b) * k * k + 2 * (3 * c - 6 * b) * k + 3 * b;
                        if (.001 <= l) {
                            for (m = 0; 4 > m; ++m) {
                                l = 3 * (1 - 3 * c + 3 * b) * k * k + 2 * (3 * c - 6 * b) * k + 3 * b;
                                if (0 === l)
                                    break;
                                var n = a(k, b, c) - h,
                                    k = k - n / l
                            }
                            h = k
                        } else if (0 === l)
                            h = k;
                        else {
                            var k = m,
                                m = m + .1,
                                f = 0;
                            do
                                n = k + (m - k) / 2,
                                l = a(n, b, c) - h,
                                0 < l ? m = n : k = n;
                            while (1e-7 < Math.abs(l) && 10 > ++f);
                            h = n
                        }
                        return a(h, d, e)
                    }
                }
            }
        }(),
        N = function() {
            function a(a, b) {
                return 0 === a || 1 === a ? a : -Math.pow(2, 10 * (a - 1)) * Math.sin(2 * (a - 1 - b / (2 * Math
                    .PI) * Math.asin(1)) * Math.PI / b)
            }
            var b = "Quad Cubic Quart Quint Sine Expo Circ Back Elastic".split(" "),
                d = {
                    In: [
                        [.55, .085, .68, .53],
                        [.55, .055, .675, .19],
                        [.895, .03, .685, .22],
                        [.755, .05, .855, .06],
                        [.47, 0, .745, .715],
                        [.95, .05, .795, .035],
                        [.6, .04, .98, .335],
                        [.6, -.28, .735, .045], a
                    ],
                    Out: [
                        [.25, .46, .45, .94],
                        [.215, .61, .355, 1],
                        [.165, .84, .44, 1],
                        [.23, 1, .32, 1],
                        [.39, .575, .565, 1],
                        [.19, 1, .22, 1],
                        [.075, .82, .165, 1],
                        [.175, .885, .32, 1.275],
                        function(b, c) {
                            return 1 - a(1 - b, c)
                        }
                    ],
                    InOut: [
                        [.455, .03, .515, .955],
                        [.645, .045, .355, 1],
                        [.77, 0, .175, 1],
                        [.86, 0, .07, 1],
                        [.445, .05, .55, .95],
                        [1, 0, 0, 1],
                        [.785, .135, .15, .86],
                        [.68, -.55, .265, 1.55],
                        function(b, c) {
                            return .5 > b ? a(2 * b, c) / 2 : 1 - a(-2 * b + 2, c) / 2
                        }
                    ]
                },
                c = {
                    linear: y(.25, .25, .75, .75)
                },
                e = {},
                l;
            for (l in d)
                e.type = l,
                d[e.type].forEach(function(a) {
                    return function(d, e) {
                        c["ease" + a.type + b[e]] = g.fnc(d) ? d : y.apply($jscomp$this, d)
                    }
                }(e)),
                e = {
                    type: e.type
                };
            return c
        }(),
        ia = {
            css: function(a, b, d) {
                return a.style[b] = d
            },
            attribute: function(a, b, d) {
                return a.setAttribute(b, d)
            },
            object: function(a, b, d) {
                return a[b] = d
            },
            transform: function(a, b, d, c, e) {
                c[e] || (c[e] = []);
                c[e].push(b + "(" + d + ")")
            }
        },
        q = [],
        z = 0,
        ja = function() {
            function a() {
                z = requestAnimationFrame(b)
            }

            function b(b) {
                var c = q.length;
                if (c) {
                    for (var d = 0; d < c;)
                        q[d] && q[d].tick(b),
                        d++;
                    a()
                } else
                    cancelAnimationFrame(z),
                    z = 0
            }
            return a
        }();
    n.version = "2.0.2";
    n.speed = 1;
    n.running = q;
    n.remove = function(a) {
        a = M(a);
        for (var b = q.length; b--;)
            for (var d = q[b], c = d.animations, e = c.length; e--;)
                F(a, c[e].animatable.target) && (c.splice(e, 1),
                    c.length || d.pause())
    };
    n.getValue = J;
    n.path = function(a, b) {
        var d = g.str(a) ? v(a)[0] : a,
            c = b || 100;
        return function(a) {
            return {
                el: d,
                property: a,
                totalLength: d.getTotalLength() * (c / 100)
            }
        }
    };
    n.setDashoffset = function(a) {
        var b = a.getTotalLength();
        a.setAttribute("stroke-dasharray", b);
        return b
    };
    n.bezier = y;
    n.easings = N;
    n.timeline = function(a) {
        var b = n(a);
        b.pause();
        b.duration = 0;
        b.add = function(a) {
            b.children.forEach(function(a) {
                a.began = !0;
                a.completed = !0
            });
            w(a).forEach(function(a) {
                var c = b.duration,
                    d = a.offset;
                a.autoplay = !1;
                a.offset = g.und(d) ? c : K(d, c);
                b.seek(a.offset);
                a = n(a);
                a.duration > c && (b.duration = a.duration);
                a.began = !0;
                b.children.push(a)
            });
            b.reset();
            b.seek(0);
            b.autoplay && b.restart();
            return b
        };
        return b
    };
    n.random = function(a, b) {
        return Math.floor(Math.random() * (b - a + 1)) + a
    };
    return n
});
